package com.aishua.fire.mapper;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Component;

import com.aishua.fire.entity.checkcatalog.CheckCatalogInfo;
import com.aishua.fire.entity.checkitem.AddCheckItemDetailInfo;
import com.aishua.fire.entity.checkitem.AddCheckItemInfo;
import com.aishua.fire.entity.checkitem.CheckItemDetailInfo;
import com.aishua.fire.entity.checkitem.CheckItemInfo;
import com.aishua.fire.entity.drillrecord.DrillRecordCatalogInfo;
import com.aishua.fire.entity.drillrecord.DrillRecordExampleDetailInfo;
import com.aishua.fire.entity.drillrecord.DrillRecordExampleInfo;
import com.aishua.fire.entity.drillrecord.DrillRecordTitleInfo;

@Component
public interface DrillRecordMapper
{
	/**
	 * 演练计划管理-演练现场记录-新增演练记录题目
	 * @param info
	 */
	void saveDrillRecordInfo(DrillRecordTitleInfo info);

    /**
     * 校验类目名称是否重复
     * @param pa
     * @return
     */
    List<String> findByCatalogName(Map<String, String> pa);
    
    /**
     * 演练计划管理-演练现场记录-新增演练记录题目二级目录
     * @param info
     */
    void addCatalog(DrillRecordCatalogInfo info);
    
    
	/**
	 * 插入项目关联的图片
	 * @param pa
	 */
	void insertCheckItemAndPic(Map<String, String> pa);

	/**
	 * 插入项目关联的检查明细
	 * @param pa
	 */
	void insertCheckItemDetail(Map<String, String> pa);
	
	/**
	 * 查询类别目录列表
	 * @param param
	 * @return
	 */
	List<CheckItemInfo> checkItemlist(Map<String, String> param);

	/**
	 * 查询类别目录列表数量
	 * @param param
	 * @return
	 */
	int listTotal(Map<String, String> param);

	/**
	 * 查询分类目录下拉框
	 * @return
	 */
	List<CheckCatalogInfo> getCheckcatalogSelectList();

	/**
	 * 巡检管理-查询检查项目详情
	 */
	CheckItemInfo getItemInfo(String id);

	/**
	 * 查询项目关联的图片
	 * @param id
	 * @return
	 */
	List<String> getCheckItemAndPic(String id);

	/**
	 * 查询项目关联的明细
	 * @param id
	 * @return
	 */
	List<CheckItemDetailInfo> getCheckItemDetail(String id);
	

	/**
	 * 修改项目关联的明细
	 */
	void updateCheckItemInfo(CheckItemInfo info);

	/**
	 * 查询检查项目名称是否重复
	 * @param item_name
	 * @return
	 */
	List<String> findByItemName(String title_name);

	/**
	 *  巡检管理_检查项目新增检查明细
	 * @param info
	 */
	void addCheckitemDetail(AddCheckItemDetailInfo info);

    /**
     * 巡检管理-巡检点管理-查询当前巡检点关联的检查项目列表
     * @param p_id
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<CheckItemInfo> checkItemlistByPoint(Map<String, String> param);

    /**
     * 分页查询演练计划管理-演练现场记录-演练记录题目
     * @param pageNumber
     * @param pageSize
     * @param title_name
     * @param title_type
     * @return
     */
    List<DrillRecordTitleInfo> drillTitlePreList(Map<String, String> map);

    /**
     * 分页查询演练计划管理-演练现场记录-演练记录题目二级目录
     */
    List<DrillRecordCatalogInfo> catalogList(String title_id);

    /**
     * 分页查询演练计划管理-演练现场记录-演练记录习题列表
     */
    List<DrillRecordExampleInfo> exampleList(String catalog_id);

    /**
     * 查询题目选项明细
     * @param example_id
     * @return
     */
    List<DrillRecordExampleDetailInfo> getExampleDetailsList(String example_id);

    /**
     * 演练计划管理-演练现场记录-新增演练记录题目
     */
    void addexample(DrillRecordExampleInfo info);

    /**
     * 演练计划管理-演练现场记录-新增演练记录习题
     * @param data
     */
    void insertExampleDetailInfo(DrillRecordExampleDetailInfo data);

    /**
     * 演练计划管理-演练现场记录-查询演练记录题目答案
     */
    List<DrillRecordExampleInfo> exampleAnswerList(String e_id);
}